package com.fowo.api.model.tmp.listing;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * Listing临时表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class TmpListingImportPo {

  /** 名称 */
  @ExcelProperty("名称")
  private String name;

  /** 描述 */
  @ExcelProperty("描述")
  private String description;

  /** 亚马逊定义的listing的id */
  @ExcelProperty("亚马逊定义的listing的id")
  @Size(max = 50, message = "亚马逊定义的listing的id长度不能超过50")
  private String listingId;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String sellerSku;

  /** 商品的原价 */
  @ExcelProperty("商品的原价")
  @DecimalString(message = "商品的原价小数格式不正确", label = "商品的原价")
  private String price;

  /** 商品的数量 */
  @ExcelProperty("商品的数量")
  @IntegerString(message = "商品的数量数值格式不正确", label = "商品的数量")
  private String quantity;

  /** 商品上架时间 */
  @ExcelProperty("商品上架时间")
  @DateTimeString(message = "商品上架时间不是有效的时间日期格式")
  private String openDate;

  /** 图片地址 */
  @ExcelProperty("图片地址")
  @Size(max = 1000, message = "图片地址长度不能超过1000")
  private String imageUrl;

  /** 是否本市场 */
  @ExcelProperty("是否本市场")
  @Size(max = 50, message = "是否本市场长度不能超过50")
  private String itemIsMarketplace;

  /** 商品id类型 */
  @ExcelProperty("商品id类型")
  @Size(max = 50, message = "商品id类型长度不能超过50")
  private String productIdType;

  /** 运费 */
  @ExcelProperty("运费")
  @DecimalString(message = "运费小数格式不正确", label = "运费")
  private String zshopShippingFee;

  /** 商品备注 */
  @ExcelProperty("商品备注")
  @Size(max = 1000, message = "商品备注长度不能超过1000")
  private String itemNote;

  /** 商品状态 */
  @ExcelProperty("商品状态")
  @Size(max = 50, message = "商品状态长度不能超过50")
  private String itemCondition;

  /** 店铺类别 */
  @ExcelProperty("店铺类别")
  @Size(max = 50, message = "店铺类别长度不能超过50")
  private String zshopCategory;

  /** 浏览地址 */
  @ExcelProperty("浏览地址")
  @Size(max = 1000, message = "浏览地址长度不能超过1000")
  private String zshopBrowsePath;

  /** 店铺店面特色 */
  @ExcelProperty("店铺店面特色")
  @Size(max = 50, message = "店铺店面特色长度不能超过50")
  private String zshopStorefrontFeature;

  /** ASIN */
  @ExcelProperty("ASIN")
  @Size(max = 50, message = "ASIN长度不能超过50")
  private String asin;

  /** 国际发货 */
  @ExcelProperty("国际发货")
  @Size(max = 50, message = "国际发货长度不能超过50")
  private String willShipInternationally;

  /** 加急快递 */
  @ExcelProperty("加急快递")
  @Size(max = 50, message = "加急快递长度不能超过50")
  private String expeditedShipping;

  /** 商品id */
  @ExcelProperty("商品id")
  @Size(max = 50, message = "商品id长度不能超过50")
  private String productId;

  /** 投标特色广告位 */
  @ExcelProperty("投标特色广告位")
  @Size(max = 50, message = "投标特色广告位长度不能超过50")
  private String bidForFeaturedPlacement;

  /** 增删 */
  @ExcelProperty("增删")
  @Size(max = 50, message = "增删长度不能超过50")
  private String addDelete;

  /** 待处理数量 */
  @ExcelProperty("待处理数量")
  @Size(max = 50, message = "待处理数量长度不能超过50")
  private String pendingQuantity;

  /** 配送渠道 */
  @ExcelProperty("配送渠道")
  @Size(max = 50, message = "配送渠道长度不能超过50")
  private String fulfillmentChannel;

  /** 运输分组 */
  @ExcelProperty("运输分组")
  @Size(max = 50, message = "运输分组长度不能超过50")
  private String merchantShippingGroup;

  /** 状态 */
  @ExcelProperty("状态")
  @Size(max = 50, message = "状态长度不能超过50")
  private String status;

  /** 店铺id */
  @ExcelProperty("店铺id")
  @LongString(message = "店铺id数值格式不正确", label = "店铺id", min = 0L)
  private String sid;

  /** FNSKU */
  @ExcelProperty("FNSKU")
  @Size(max = 50, message = "FNSKU长度不能超过50")
  private String fnsku;

  /** 父ASIN */
  @ExcelProperty("父ASIN")
  @Size(max = 50, message = "父ASIN长度不能超过50")
  private String parentAsin;

  /** 亚马逊分类 */
  @ExcelProperty("亚马逊分类")
  @Size(max = 50, message = "亚马逊分类长度不能超过50")
  private String amazonClassify;

  /** 商品类型 */
  @ExcelProperty("商品类型")
  @Size(max = 50, message = "商品类型长度不能超过50")
  private String productType;

  /** 国家 */
  @ExcelProperty("国家")
  @Size(max = 50, message = "国家长度不能超过50")
  private String country;

  /** 大类排名 */
  @ExcelProperty("大类排名")
  @Size(max = 50, message = "大类排名长度不能超过50")
  private String ranking;

  /** 货币 */
  @ExcelProperty("货币")
  @Size(max = 50, message = "货币长度不能超过50")
  private String currency;

  /** 积分 */
  @ExcelProperty("积分")
  @Size(max = 50, message = "积分长度不能超过50")
  private String points;

  /** 站点 */
  @ExcelProperty("站点")
  @Size(max = 50, message = "站点长度不能超过50")
  private String regionName;

  @ExcelIgnore
  @Schema(title = "站点")
  private String region;
}
